package com.example.business.user.dto;

import com.example.business.user.entity.UserEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 用户数据传输对象，用于在不同层之间传输用户相关的数据。
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    // 用户 ID
    private Long id;
    // 用户姓名
    private String name;
    // 用户邮箱
    private String email;
    // 用户年龄
    private Integer age;

    // 添加 fromEntity 方法
    public static UserDTO fromEntity(UserEntity entity) {
        UserDTO dto = new UserDTO();
        dto.setId(entity.getId());
        dto.setName(entity.getName());
        dto.setEmail(entity.getEmail());
        dto.setAge(entity.getAge());
        return dto;
    }
}